<?php
/**
 * =================================================
 * @版权所有  网悦时代，并保留所有权利。
 * @网站地址: http://soft.wangyue.cc；
 * -------------------------------------------------
 * @这是一个商业软件！您只能在得到官方的授权才可对程序代码进行修改
 * @使用；不允许对程序代码以任何形式任何目的的再发布。
 * @pay.php
 * =================================================
*/
if(!defined('PATH_ROOT')){
	exit('Access Denied');
}
require_once(PATH_API."/alipay/alipay.config.php");
require_once(PATH_API."/alipay/lib/alipay_submit.class.php");
require_once(PATH_API."/alipay/lib/alipay_notify.class.php");

function creat_pay($subject,$total_fee,$order,$url='',$body='',$show_url=''){
	global $alipay_config,$_ip;
	if(empty($subject) || empty($total_fee) || empty($order)){
		return false;
	}
	$parameter = array(
	"service" => "create_direct_pay_by_user",
	"partner" => trim($alipay_config['partner']),
	"payment_type"	=> 1,//支付类型
	"notify_url"	=> creat_url($url.'&inajax=1'),//服务器异步通知页面路径
	"return_url"	=> creat_url($url),//页面跳转同步通知页面路径
	"seller_email"	=> $alipay_config['seller_email'],
	"out_trade_no"	=> $order,//商户订单号
	"subject"	=> $subject,//订单名称
	"total_fee"	=> $total_fee,//付款金额
	"body"	=> $body,//订单描述
	"show_url"	=> $show_url,//商品展示地址
	"anti_phishing_key"	=> '',//防钓鱼时间戳
	"exter_invoke_ip"	=> $_ip,//客户端的IP地址
	"_input_charset"	=> trim(strtolower($alipay_config['input_charset']))
	);
	//建立请求
	$alipaySubmit = new AlipaySubmit($alipay_config);
	$url = $alipaySubmit->buildRequestForm($parameter/*,"get", "确认"*/);
	return $url;
}
//回掉处理
function verify_result(){
	global $alipay_config,$_isajax;
	$alipayNotify = new AlipayNotify($alipay_config);
	if($_isajax){
		$_POST=lib_request::$posts;
		//去掉无用参数
		unset($_POST['inajax'],$_POST['mod'],$_POST['op'],$_POST['ac']);
		$Notify_result = $alipayNotify->verifyNotify();
		if($Notify_result){
			/*
			//商户订单号
			$out_trade_no = request('out_trade_no');
			//支付宝交易号
			$trade_no = request('trade_no');
			//交易状态
			$trade_status = request('trade_status');
			//订单处理处理
			if($trade_status == 'TRADE_FINISHED' || $trade_status == 'TRADE_SUCCESS') {
				paysuccess($out_trade_no,$trade_no);
				//判断该笔订单是否在商户网站中已经做过处理
				//如果没有做过处理，根据订单号（out_trade_no）在商户网站的订单系统中查到该笔订单的详细，并执行商户的业务程序
				//如果有做过处理，不执行商户的业务程序

				//注意：
				//该种交易状态只在两种情况下出现
				//1、开通了普通即时到账，买家付款成功后。
				//2、开通了高级即时到账，从该笔交易成功时间算起，过了签约时的可退款时限（如：三个月以内可退款、一年以内可退款等）后。

				//调试用，写文本函数记录程序运行情况是否正常
				//logResult("这里写入想要调试的代码变量值，或其他运行的结果记录");
			}
			*/
			return true;
			//echo "success";
		}else{
			return false;
			//echo "fail";
		}
	}else{
		$_GET=lib_request::$gets;
		//去掉无用参数
		unset($_GET['inajax'],$_GET['mod'],$_GET['op'],$_GET['ac']);
		$Return_result = $alipayNotify->verifyReturn();//同步处理
		if($Return_result) {//验证成功
			/*
			//商户订单号
			$out_trade_no = request('out_trade_no');
			//支付宝交易号
			$trade_no = request('trade_no');
			//交易状态
			$trade_status = request('trade_status');
			if($trade_status == 'TRADE_FINISHED' || $trade_status == 'TRADE_SUCCESS') {
				paysuccess($out_trade_no,$trade_no);
				//判断该笔订单是否在商户网站中已经做过处理
				//如果没有做过处理，根据订单号（out_trade_no）在商户网站的订单系统中查到该笔订单的详细，并执行商户的业务程序
				//如果有做过处理，不执行商户的业务程序
			}
			*/
			return true;
			//message(-1,'支付提示','支付成功','?ac=mylog&op=willline');
		}else{
			return false;
			//message(-1,'支付提示','支付失败请重试','?ac=mylog&op=unpaid');
		}
	}
	exit();
}
//回调地址
function creat_url($url){
	return !empty($url)?$url:'';
}
?>